import { fileURLToPath, URL } from 'node:url'
import { resolve } from 'path'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

const IS_PRO = ['production', 'test'].includes(process.env.NODE_ENV);

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
  ],
  resolve: {
    // 配置别名
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url)),
      components: resolve(__dirname, 'src/components')
    },
    // 类型： string[] 导入时想要省略的扩展名列表。
    extensions: ['.js', '.ts', '.jsx', '.tsx', '.json', '.vue', '.mjs']
  },
//   server: {
//     proxy: {
//       // '/api': { // 匹配请求路径，
//         'api/': { // 匹配请求路径，
//             target: 'http://localhost:8888', // 代理的目标地址
//              // 开发模式，默认的127.0.0.1,开启后代理服务会把origin修改为目标地址
//             changeOrigin: true,
//             // secure: true, // 是否https接口
//             // ws: true, // 是否代理websockets

//             // 路径重写，**** 如果你的后端有统一前缀(如:/api)，就不开启；没有就开启
//             //简单来说，就是是否改路径 加某些东西
//             // rewrite: (path) => path.replace(/^\/api/, '') 
//         }
//     }
// },
  css: {
    // 是否使用css分离插件 ExtractTextPlugin
    extract: IS_PRO,
    // 开启 CSS source maps  打包时不生成.map文件?
    sourceMap: false,
    // css预设器配置项
    loaderOptions: {
    },
    // 为所有的 CSS 及其预处理文件开启 CSS Modules。
    // 这个选项不会影响 `*.vue` 文件。
    requireModuleExtension: true
}
})
